package perucuy.services;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import perucuy.dao.DAOFactory;
import perucuy.dao.ReproductoraDAO;
import perucuy.transfers.ReproductoraTO;
import static perucuy.utils.Funciones.esVacio;
/**
 *
 * @author OMATEO
 */
public class ReproductoraService {
    
    private static Logger log = Logger.getLogger(ReproductoraService.class);
    
    ReproductoraDAO dao = DAOFactory.getDAOFactory(DAOFactory.Tipo.SQLMAP).getReproductoraDAO();
    
    public void registrarReproductora(ReproductoraTO reproductora) {
        dao.create(reproductora);
        log.debug("Guardo datos de la reproductora ");
    }

    public void actualizarReproductora(ReproductoraTO reproductora) {
        dao.actualizar(reproductora);
        log.debug("Actualizo los datos datos de la reproductora ");
    }

    public void registrarParto(ReproductoraTO reproductora) {
        dao.actualizaParto(reproductora);
        log.debug("Actualizo los datos datos de la reproductora ");
    }
    
    public ReproductoraTO getReproductora(int id) {
        return dao.dameReproductora(id);
    }
    
    public List getReproductora() {
        return dao.listado();
    }
    public List getReproductora(int campo, String valor) {
        return dao.listado(campo, valor);
    }
    public List getNucleos() {
        return dao.listadoNucleo();
    }
    public int eliminarReproductora(int id) {
        return dao.eliminarReproductora(id);
    }
    public boolean existenError(ReproductoraTO reproductora, ActionMessages msgs) {
        int error = 0;
      
        if (esVacio(reproductora.getfechainicio())) {
            error++;
            msgs.add("error1",new ActionMessage("errores.select","Fecha de inicio"));
        }
        if (esVacio(reproductora.getedad())) {
            error++;
            msgs.add("error4",new ActionMessage("errores.buscar","edad en meses"));
        }
        if (error > 0) {
            return true;
        }
        return false;
    }
}
